﻿
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using WalkingTec.Mvvm.Core;
using WalkingTec.Mvvm.Core.Extensions;
using Digitalmes.Model.ProductionManagement;
using Digitalmes.Model;

namespace Digitalmes.ViewModel.ProductionManagement.ProdTransSnVMs
{
    public partial class ProdTransSnTemplateVM : BaseTemplateVM
    {
        
        [Display(Name = "_Model._ProdTransSn._Sn")]
        public ExcelPropety Sn_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.Sn);
        [Display(Name = "_Model._ProdTransSn._ProductId")]
        public ExcelPropety ProductId_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.ProductId);
        [Display(Name = "_Model._ProdTransSn._ProductCode")]
        public ExcelPropety ProductCode_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.ProductCode);
        [Display(Name = "_Model._ProdTransSn._Wo")]
        public ExcelPropety Wo_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.Wo);
        [Display(Name = "_Model._ProdTransSn._CurLineId")]
        public ExcelPropety CurLineId_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CurLineId);
        [Display(Name = "_Model._ProdTransSn._CurLineCode")]
        public ExcelPropety CurLineCode_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CurLineCode);
        [Display(Name = "_Model._ProdTransSn._CurOpId")]
        public ExcelPropety CurOpId_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CurOpId);
        [Display(Name = "_Model._ProdTransSn._CurOpCode")]
        public ExcelPropety CurOpCode_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CurOpCode);
        [Display(Name = "_Model._ProdTransSn._CurRoutingId")]
        public ExcelPropety CurRoutingId_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CurRoutingId);
        [Display(Name = "_Model._ProdTransSn._CurRoutingCode")]
        public ExcelPropety CurRoutingCode_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CurRoutingCode);
        [Display(Name = "_Model._ProdTransSn._InboundTime")]
        public ExcelPropety InboundTime_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.InboundTime, true);
        [Display(Name = "_Model._ProdTransSn._OutboundTime")]
        public ExcelPropety OutboundTime_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.OutboundTime, true);
        [Display(Name = "_Model._ProdTransSn._OnlineTime")]
        public ExcelPropety OnlineTime_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.OnlineTime, true);
        [Display(Name = "_Model._ProdTransSn._OfflineTime")]
        public ExcelPropety OfflineTime_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.OfflineTime, true);
        [Display(Name = "_Model._ProdTransSn._Stage")]
        public ExcelPropety Stage_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.Stage);
        [Display(Name = "_Model._ProdTransSn._Status")]
        public ExcelPropety Status_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.Status);
        [Display(Name = "_Model._ProdTransSn._IsCompelted")]
        public ExcelPropety IsCompelted_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.IsCompelted);
        [Display(Name = "_Model._ProdTransSn._CustomerSn")]
        public ExcelPropety CustomerSn_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CustomerSn);
        [Display(Name = "_Model._ProdTransSn._ReworkFlag")]
        public ExcelPropety ReworkFlag_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.ReworkFlag);
        [Display(Name = "_Model._ProdTransSn._ReworkDoc")]
        public ExcelPropety ReworkDoc_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.ReworkDoc);
        [Display(Name = "_Model._ProdTransSn._ReworkCount")]
        public ExcelPropety ReworkCount_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.ReworkCount);
        [Display(Name = "_Model._ProdTransSn._NgSteps")]
        public ExcelPropety NgSteps_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.NgSteps);
        [Display(Name = "_Model._ProdTransSn._IsNeedRework")]
        public ExcelPropety IsNeedRework_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.IsNeedRework);
        [Display(Name = "_Model._ProdTransSn._CreateTime")]
        public ExcelPropety CreateTime_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CreateTime, true);
        [Display(Name = "_Model._ProdTransSn._UpdateTime")]
        public ExcelPropety UpdateTime_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.UpdateTime, true);
        [Display(Name = "_Model._ProdTransSn._CreateBy")]
        public ExcelPropety CreateBy_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.CreateBy);
        [Display(Name = "_Model._ProdTransSn._UpdateBy")]
        public ExcelPropety UpdateBy_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.UpdateBy);
        [Display(Name = "_Model._ProdTransSn._IsValid")]
        public ExcelPropety IsValid_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.IsValid);
        [Display(Name = "_Model._ProdTransSn._TenantCode")]
        public ExcelPropety TenantCode_Excel = ExcelPropety.CreateProperty<ProductionTransSn>(x => x.TenantCode);

	    protected override void InitVM()
        {
            
        }

    }

    public class ProdTransSnImportVM : BaseImportVM<ProdTransSnTemplateVM, ProductionTransSn>
    {
            //import

    }

}